#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

typedef struct TNode *Type;
#define MaxSize 10
typedef struct Queue
{
    Type array[MaxSize];
    int rear;
    int front;
    int op; // 0表示删除，1表示增加
} Queue;

void InitQueue(Queue *q);
void DestroyQueue(Queue *q);
bool Push(Queue *q, Type val);
bool Pop(Queue *q, Type *val);
bool Empty(Queue *q);
bool Fill(Queue *q);
bool GetHead(Queue *q, Type *val);

int Length(Queue *q);
// typedef int DataType;
// #define MaxSize 5
// typedef struct Queue
// {
//     DataType array[MaxSize];
//     int rear;
//     int front;
//     int size;
// } Queue;

// void InitQueue(Queue *q);
// void DestroyQueue(Queue *q);
// bool Push(Queue *q, DataType val);
// bool Pop(Queue *q, DataType *val);
// bool Empty(Queue *q);
// bool Fill(Queue *q);
// bool GetHead(Queue *q, DataType *val);

// int Length(Queue *q);

// typedef int DataType;
// #define MaxSize 5
// typedef struct Queue
// {
//     DataType array[MaxSize];
//     int rear;
//     int front;
// } Queue;

// void InitQueue(Queue *q);
// void DestroyQueue(Queue *q);
// bool Push(Queue *q, DataType val);
// bool Pop(Queue *q, DataType *val);
// bool Empty(Queue *q);
// bool Fill(Queue *q);
// bool GetHead(Queue *q, DataType *val);

// int Length(Queue *q);
